home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Games of Daze
/
Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso
/
x2ftp
/
msdos
/
libs
/
tge132
/
revision.hst
< prev
next >
Wrap
Text File
|
1994-05-21
|
16KB
|
368 lines
*** REVISION HISTORY ***
This file contains notes regarding changes to TGE since its initial
release.
Legend:
+ Addition or improvement.
! Changed feature.
- Bug fix.
* New information.
---------------------------------------------------------------------------
TGE version 1.32, released Saturday 21 May 1994
---------------------------------------------------------------------------
* TGE 1.31 reported that trouble existed when using Borland C++ 4.0 with
the VariableFont class; I speculated that it was due to a linker
version incompatability. In fact, the problem occurred with all of
the C++ portions of TGE, and with all Borland C++ versions back to at
least 2.0. The reason for the problem was that I had compiled the
library with the "Far virtual tables" option disabled, while some
users had this option enabled; why this option should have any effect
when TGE has no virtual functions is beyond me, but it does. It is
also important to have the "Unsigned characters" option disabled, or
to cast all parameters to the font load() routines to signed char.
+ Added the getVertLine(), putVertLine(), and putVertLineInv()
functions; they are vertically-oriented versions of getLine(),
putLine(), and putLineInv(). To eliminate version incompatibility,
the getLine() function from earlier versions can now be called as
either getLine() or getHorizLine(), putLine() as either putLine() or
putHorizLine(), and putLineInv() as either putLineInv() or
putHorizLineInv(). Registered users may disable these new vertical
line functions by commenting out the TGE_USE_PUTVERTLINE #define in
the TGE.H file, then recompiling the library so these unused functions
will not occupy memory.
+ Fixed-sized fonts can now be loaded using a call to the new FixedFont
member function load(), as with the VariableFont class. The older and
considerably more obnoxious method of loading through the class
constructor is still supported, but is no longer documented.
+ colourCloseTo(), colourCloseToX(), and MAXCOLOUR now have the synonyms
colorCloseTo(), colorCloseToX(), and MAXCOLOR, respectively, as a
courtesy to TGE users in the USA.
- TGEDEMO would always look for ..\FONTS\BIGTEXT.FNT, regardless of the
value of the TGEFONTS environment variable. Fixed.
+ Added the promotePalette() and demotePalette() functions, to make
dealing with 6-bit palettes easier.
+ Added the saveRawFile() function, so that TGE can now save as well as
load image files.
---------------------------------------------------------------------------
TGE version 1.31, released Saturday 05 March 1994
---------------------------------------------------------------------------
+ Added the QUICKREF.DOC file.
! Renamed the clipFilledRect() function to clipRect().
! Renamed TGEFONT.CPP to FIXFONT.CPP and TGE.C to TGEFUNCS.C.
+ Registered users can now save up to about 22 kb of memory by
selectively commenting out a few #defines in TGE.H and compiling the
TGE library. Following is a list of symbols and the features they
disable when they're not #defined:
TGE_USE_VIRTUAL_SCREENS Virtual screen support
TGE_USE_OUTPUT_MODES Output mode support
TGE_USE_REGION_FILLS fillRegion()
TGE_USE_IMAGES Bitmap-related functions
TGE_USE_ELLIPSES ellipse- and circle-drawing
TGE_USE_COLOUR_APPROXIMATION colourCloseTo() and
colourCloseToX()
The source for the disabled features is simply not compiled, and so
does not waste space in the executable or in memory.
- Fixed a bug in setPaletteReg() and getPaletteReg() which caused the
two functions to confuse the green and blue colour components. This
problem only showed itself in custom drivers which did not have
assembly versions of these routines.
- imageSize() now clips to within the current input viewport, rather
than the output viewport.
- Fixed a bug in TGEFUNCS.C's putImageInv() routine which would, under
very rare circumstances, cause the image to be output one line too low
down.
- Fixed a bug in VARFONT.CPP which would cause VariableFont to become
confused when dealing with characters whose ASCII values were 128 or
higher. Sometimes this confusion led to machine crashes.
+ Added some frequently used high-ASCII characters (ie. the lower-case
letters with accents on them) to BIGTEXT.FNT.
+ Added ANGULAR.FNT, a variable-sized font. This font is available in
the registered version only.
* Files which are not included in the shareware version of TGE are no
longer listed in the PACKING LIST section of TGE.DOC; they were marked
as present in the registered version only, but there was some
confusion anyway.
- Fixed a bug in TGESETUP.C's TGE_loadFile() function. If the file
FILE.EXT existed in the current directory, and TGE_loadFile was called
to load "FILE" with the assumed extension ".EXT", then the file would
not be found.
- TGE no longer directly supports Chips & Tech SVGAs, as the support in
previous versions was buggy. TGE will still support Chips & Tech
cards through VESA BIOS extensions, such as those provided by the
Universal VESA TSR.
* Rewrote REGISTER.FRM, and renamed it to ORDER.FRM.
---------------------------------------------------------------------------
TGE version 1.30, released Wednesday 05 January 1994
---------------------------------------------------------------------------
+ While debugging an application, I changed the 320x200 driver's
putLine() routine from the 32-bit code I'd recently written to a
slower byte-by-byte copying; I completely forgot to change it back
until after I'd released TGE 1.29ßD.
- Fixed a problem in NEWMOUSE.ASM which caused the mouse sensitivity to
be incorrectly handled.
+ Added the PALETTE.C file, which contains the palette manipulation
routines fadePalette(), greyPalette(), rotatePalette().
+ Added the RAWFILE.C file, which contains the loadRawFile(),
displayRawFile(), and loadPalFile() routines.
+ Added the PCXFILE.C file, which contains the loadPcxFile(),
displayPcxFile(), and loadPcxFilePal() routines.
+ scaleBitmap() can now allocate memory for the scaled image, if
specified.
+ PCX2RAW now accepts wildcard filespecs, such as 'PCX2RAW pic*'.
- Fixed a bug in NEWMOUSE.ASM which caused the minimum limits set by
setHorizLimitsMouse() and setVertLimitsMouse() to be ignored.
+ Added support for 256-colour fonts with characters of varying sizes,
by adding VARFONT.CPP. A sample 256-colour font file, BIGTEXT.FNT, is
included.
+ Added MAKEFONT, a utility to create 256-colour fonts. This utility is
in the TGE\UTIL directory.
! Added the INCLUDE, DRIVERS, FONTS, and DEMO directories within \TGE,
and renamed the PCX2RAW directory to UTIL. All drivers have been
moved to the DRIVERS directory; all fonts have been moved to the FONTS
directory; the demo program has been moved to the DEMO directory.
+ TGE now uses the environment variables TGEDRIVERS and TGEFONTS. Now,
when loading drivers, if the specified driver file cannot be opened,
TGE will attempt to open it from the directory specified by the
TGEDRIVERS variable; similarly, loading fonts can be done
automatically from the directory specified by the TGEFONTS variable.
+ Added the Universal VESA TSR ("UNIVESA"), by Kendall Bennett, to the
TGE distribution package. UNIVESA was not written by the author of
TGE, but is included with the TGE package as a courtesy to those
without VESA BIOS drivers for their SuperVGA cards. It may also be of
use to TGE software developers, who are allowed to distribute UNIVESA
with their programs free of charge, so long as UNIVESA remains
unmodified.
- TGE no longer directly supports Cirrus or Paradise SVGAs, as the
support in previous versions was buggy. TGE will still support Cirrus
and Paradise cards through VESA BIOS extensions, such as those
provided by the Universal VESA TSR.
! There are now two versions of TGE: the shareware version and the
registered version. The shareware version differs from the registered
version in that the source code is not included.
! Renamed the Font class to FixedFont. Some FixedFont member functions
have also been renamed; the changes are listed below, with the old
names on the left and the new names on the right:
wide width
maxWide maxWidth
deep height
maxDeep maxHeight
These changes were made because the old names were not as clear as the
new ones. I apologize for any inconvenience these changes may cause.
+ Added the imageWidth() and imageDepth() routines, which are really
macros implemented in TGE.H.
! Removed MAKELIB.BAT and TGE.LIB. These files have been replaced with
BCL.LIB (Borland C++ large model), BCL.MAK (makefile for BCL.LIB),
BCH.LIB (Borland C++ huge model), and BCH.MAK (makefile for BCH.LIB).
Rather than using MAKELIB.BAT, these libraries may be generated by
running 'MAKE -fbcl.mak' or 'MAKE -fbch.mak'.
---------------------------------------------------------------------------
TGE version 1.29ßD (public beta), released Saturday 11 September 1993
---------------------------------------------------------------------------
+ Fonts are now stored in memory in bit-image format, and converted on
the fly to byte-image format for display using putImageInv(). Font
speed is marginally degraded, but memory requirements for fonts are
significantly lowered.
- The phone number to call to download the newest version of TGE has
been changed to the correct number. Sorry about that...
- TGE's assembler files will now assemble correctly with Turbo Assembler
version 3.0, and presumably with newer versions as well.
* Moved the revision history from TGE.DOC to this file.
+ Added the clipInputPoint() and clipOutputPoint() macros for clipping
of points to either the input or the output viewport.
+ Added makefiles for TGEDEMO.EXE and TGE.LIB: TGEDEMO.MAK and
TGELIB.MAK, respectively. (TGELIB.MAK requires TGELIB.LST.)
+ Added an optimized assembler putLineInv_mem_copy routine to each of
the drivers. This change will greatly speed up putImageInv()'s output
to virtual screens.
- When outputting to a virtual screen using the 800x600 driver,
horizLine() will no longer erroneously output to the physical screen
rather than the virtual screen.
+ Moved a good deal of setup and initialization code from TGE.C to a new
file, TGESETUP.C. If overlays are being used, TGESETUP.C can be
overlaid so that it won't need to be in memory at all times, freeing
up about 15 kb of memory. TGE.C should not be overlaid under most
circumstances so that it performs at maximum speed.
+ Moved all of TGE into a single archive with sub-directories, rather
than the main archive and a separate archive within it for each
directory. TGE129D.ARJ will need to be extracted with a procedure
similar to this:
md d:\tge
arj x tge129d d:\tge
- TGE.DOC contained incorrect names for setGraphicsAddr(),
setGraphicsInputAddr(), and setGraphicsOutputAddr() functions, and did
not document getGraphicsInputAddr() or getGraphicsOutputAddr() at all.
! Renamed setOutputMode() to setGraphicsOutputMode().
- When run without a Microsoft or compatable mouse driver loaded,
TGEDEMO would display the sign-off screens twice upon exit. Fixed.
- The 320x240, 320x400, and 360x480 drivers did not preserve the value
of the DI register when clearGraphics() was called. Fixed.
+ The drivers now use 32-bit 386 code in many more places, boosting
speed a bit.
+ Optimized the putPixel() code in the 320x240, 320x400, and 360x480
drivers.
+ Added the LIB directory, in which there is now a MAKELIB.BAT file to
automatically build TGE.LIB with your compiler. There is also a copy
of TGE.LIB, built from OBJ files produced by Borland C++ 2.0 and Turbo
Assembler 3.0.
+ Fixed a bug in NEWMOUSE.ASM which would sometimes cause the wrong
memory areas to be used as the pointer image.
---------------------------------------------------------------------------
TGE version 1.29ßC (public beta), released Friday 20 August 1993
---------------------------------------------------------------------------
+ Added support for virtual screens.
+ Added support for graphics output using COPY, AND, NOT, OR, and XOR,
even to virtual screens.
+ TGE can now output to and input from different places. For example,
it is possible to use a virtual screen for its input whilst using the
real screen for its output, or vice-versa. There are now separate
input and an output viewports.
+ Added the virtual coordinate system, via VCOORD.H.
- Fixed a bug in NEWMOUSE.ASM which would, under rare circumstances,
corrupt portions of the screen.
! To avoid memory problems, the palette is no longer saved/restored
automatically during text/graphics mode switches.
! setBlockPalette() and getBlockPalette() are now no longer called with
the first register and the number of registers to change, but with the
first register and the last register. This change could make some
future changes easier.
+ Improved documentation, describing the font file structure and how to
use the PCX2RAW utility and its output.
+ TGE can now scale bitmaps, using the scaleBitmap() function.
+ Added the imageSizeDim(), putLineInv(), and vertLine() functions.
- Fixed a horrible SVGA bug which caused TGE to work incorrectly on all
SVGAs with bank sizes other than 64K.
---------------------------------------------------------------------------
TGE version 1.20, released Wednesday 05 May 1993
---------------------------------------------------------------------------
+ Added support for loadable fonts, viewports, colour approximation, and
region fills.
! Rewrote the loadGraphDriver() function; it now returns more
descriptive values.
+ Added various clipping routines: clipLine() and clipFilledRect() in
CLIP.C, and clipPoint() and pointOnScreen() as macros in TGE.H.
- Fixed aspect ratio problem in 360x480 driver.
- Fixed bug in the 800x600 driver when run with the Trident 8900
chipset.
+ Added the REGISTER.FRM file.
---------------------------------------------------------------------------
TGE version 1.10, released Friday 12 April 1993
---------------------------------------------------------------------------
- Improved and debugged SuperVGA support. Bugs squashed include the
infamous Trident and Oak bugs.
+ Added drivers for VGA 360x480 and SuperVGA 1024x768.
+ Added interrupt-driven definable mouse pointer services, as well as
miscellaneous mouse routines.
- Fixed default palette routines to do translation between 6-bit and
8-bit values.
+ Added ellipse(), filledEllipse(), circle(), and filledCircle().
+ Added PCX2RAW, a utility to convert 256-colour PCX files into raw
bitmap and raw palette files, making importing graphics easy.
---------------------------------------------------------------------------
TGE version 1.01, released Saturday 23 January 1993
---------------------------------------------------------------------------
* First public release.
End of document.